package com.qianfeng.zhangwei.xytg;

import android.app.Application;

import com.baidu.mapapi.SDKInitializer;
import com.nostra13.universalimageloader.cache.disc.DiskCache;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.qianfeng.zhangwei.xytg.utils.FileUtils;
import com.qianfeng.zhangwei.xytg.utils.LocationHelper;

/**
 * @说 明：
 * @项目名称：Sz1504
 * @包 名： com.qianfeng.zhangwei.day26
 * @类 名： BaseApp
 * @创 建人： zhangwei
 * @创建时间：2015-07-23 14:01
 * @版 本：v1.0
 * @修 改人：
 * @修改时间：
 * @修改备注： 第一步全局配置imageload
 * 第二步显示配置
 */
public class BaseApp extends Application {
    private static BaseApp app;
    private double lat;

    private double lng;

    @Override
    public void onCreate() {
        super.onCreate();
        app = this;
        SDKInitializer.initialize(this);
        LocationHelper.init(this);
        initImageLoadGlobalConfig();
    }

    public static BaseApp getInstance() {
        return app;
    }

    // sdk/应用程序的根目录/image

    private void initImageLoadGlobalConfig() {
        ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(this);
        DiskCache cache = new UnlimitedDiskCache(FileUtils.getImageCache());
        //配置文件保存的路径
        builder.diskCache(cache);
        //设置保存图片的最大张数
        builder.diskCacheFileCount(500);
        //配置磁盘缓存保存图片的最大内存
        builder.diskCacheSize(50 * 1024 * 1024);
        // 获取系统分配给应用程序的最大内存
        int maxMemory = (int) Runtime.getRuntime().maxMemory();
        int maxSize = maxMemory / 8;
        //配置内存缓存的大小
        builder.memoryCacheSize(maxSize);
        //配置保存图片的命名器
        builder.diskCacheFileNameGenerator(new Md5FileNameGenerator());
        ImageLoader.getInstance().init(builder.build());
    }


    public double getLat() {
        return lat;
    }

    public void setLat(double lat) {
        this.lat = lat;
    }

    public double getLng() {
        return lng;
    }

    public void setLng(double lng) {
        this.lng = lng;
    }
}
